Cluster Computing using Intel Concurrent Collections
نویسنده
چکیده
The Intel Corporation is developing a new parallel software and compiler called Concurrent Collections (CnC) to make programming in parallel easier for the user. CnC provides a system of collections comprised of steps, items, and tags. A CnC user specifies their algorithm in a graph representation using these constructs. Using this graph of dependencies, CnC automatically identifies parallelizable code segments and executes code in parallel. The present work focuses on the distributed version of CnC, where parallel code is run across multiple compute nodes. Specific accomplishments included getting distributed CnC working on the cluster tara in the UMBC High Performance Computing Facility, running timing tests, analyzing the data, and creating a generalized portable version of the distributed CnC code. This work allows a user in the distributed mode to have independent control over the number of threads, cores, and nodes to be used by a program. Several performance studies were ran in order to analyze the efficiency of the parallelism. Results for a parameter study show that Distributed CnC achieves a near-ideal speed-up for an increasing number of nodes.
منابع مشابه
Intel Concurrent Collections for Haskell
Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models for Haskell, CnC occupies a useful point in the design space: pure and deterministic like Strategie...
متن کاملMeasuring the Overhead of Intel C++ CnC over TBB for Gauss-Jordan Elimination
The most efficient parallel execution of dense liner algebra algorithms is to build and evaluate the task graph constrained only by the data dependencies between the tasks. Both Intel C++ Concurrent Collections (CnC) and Threading Building Blocks (TBB) libraries allow such task-based parallel programming. In this paper, we first analyze all the three types of data dependencies in the tiled in-p...
متن کاملLecture 26 : Dataflow Programming with Intel Concurrent Collections
The Concurrent Collections (CnC) model was developed to address the need for making parallel programming accessible to domain experts or non-professional programmers. One approach that has historically addressed this problem is the creation of domain specific languages (DSLs), such as Matlab, R, SQL, and Google’s MapReduce framework that hide the details of parallelism when programming for a sp...
متن کاملIntel Concurrent Collections as a Method for Parallel Programming
Computer hardware has become parallel in order to run faster and more efficient. One of the current standard parallel coding libraries is MPI (Message Passing Interface). The Intel Corporation is developing a new parallel software and translator called CnC (Concurrent Collections) to make programming in parallel easier. When using MPI, the user has to explicitly send and receive messages to and...
متن کاملA Case Study in Coordination Programming: Performance Evaluation of S-Net vs Concurrent Collections
We present a programming methodology and runtime performance case study comparing the declarative data flow coordination language S-NET with Intel’s Concurrent Collections (CnC). As a coordination language S-NET achieves a near-complete separation of concerns between sequential software components implemented in a separate algorithmic language and their parallel orchestration in an asynchronous...
متن کامل